﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="RepositoryService.cs" company="">
//   Copyright (c) 2010/2011 All Right Reserved
// </copyright>
// <summary>
//   Contains RepositoryService class declaration.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

using System;

namespace iBuproModel.Repositories
{
    using iBuproModel.Repositories.Classes;
    using iBuproModel.Repositories.Interfaces;

    /// <summary>
    /// Implements IRepositoryService interface
    /// </summary>
    public class RepositoryService : IRepositoryService
    {
        IStudentFieldRepository IRepositoryService.StudentFieldRepositoryCreateInstance()
        {
            return new StudentFieldRepository();
        }

        ISubjectRepository IRepositoryService.SubjectRepositoryCreateInstace()
        {
            return new SubjectRepository();
        }

        IProjectRepository IRepositoryService.ProjectRepositoryCreateInstance()
        {
            return new ProjectRepository();
        }

        public IDiplomProjectRepository DiplomProjectRepositoryCreateInstance()
        {
            return new DiplomProjectRepository();
        }

        public IUserRepository UserRepositoryCreateInstance()
        {
            return new UserRepository();
        }

        public IRoleRepository RoleRepositoryCreateInstance()
        {
            return new RoleRepository();
        }

        IDiplomProjectTypeRepository DiplomProjectTypeCreateInstance()
        {
            return new DiplomProjectTypeRepository();
        }

        IDiplomProjectTypeRepository IRepositoryService.DiplomProjectTypeRepositoryCreateInstance()
        {
            return new DiplomProjectTypeRepository();
        }

        public IDepartmentRepository DepartmentRepositoryCreateInstance()
        {
            return new DepartmentRepository();
        }

        public ITagRepository TagRepositoryCreateInstance()
        {
            return new TagRepository();
        }

        IStudentPlanRepository IRepositoryService.StudentPlanRepositoryCreateInstance()
        {
            return new StudentPlanRepository();
        }


        public IDiplomProjectStateRepository DiplomProjectStateRepositoryCreateInstance()
        {
            return new DiplomProjectStateRepository();
        }


        public IHistoryRepository HistoryRepositoryCreateInstance()
        {
            return new HistoryRepository();
        }


        public IOwnerRequestRepository OwnerRequestRepositoryCreateInstance()
        {
            return new OwnerRequestRepository();
        }

        public IProjectSourceRepository ProjectSourceRepositoryCreateInstance()
        {
            return new ProjectSourceRepository();
        }
    }
}
